package cn.parus.service;

import cn.parus.entity.FileMetadata;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @Author: Axel
 * @Description: TODO
 **/
public interface FileMetadataService extends IService<FileMetadata> {

    /**
     * 根据文件名查询文件元数据
     * @param filePath
     * @param ownerId
     * @param current
     * @param size
     * @return
     */
    Page<FileMetadata> searchFileMetadata(String filePath, String ownerId, Integer current, Integer size, String status, String fileType);

    /**
     * 创建新的文件夹
     * @param fileMetadata
     */
    void createNewFolder(FileMetadata fileMetadata);

    /**
     * 新建文件（非文件夹）
     * @param fileMetadata
     */
    void createNewFile(FileMetadata fileMetadata);

    /**
     * 删除文件（文件夹、文件）
     * @param fileId
     */
    void deleteDocument(String fileId);

    /**
     * 修改文件、文件夹名称
     * @param fileMetadata
     */
    void updateDocument(FileMetadata fileMetadata);
}
